Undoubtely, object-orientation provides a lot of benefits which can improve your design process, but it is no panacea. Studies evaluating the benefits of the object-orientation have shown that its inconsistent application can impair the final results with regard to complexity, comprehensibility, maintenance, etc.

On the other hand, consequent use of the OO-paradigm has proven to provide significant benefits. Hence, object-orientation has to be understood as a complete and incremental methodology that supports you from the first, conceptual definition over the implementation to later maintenance, with raising benefits by raising complexity.

Generally, object-orientation provides a repertoire of concepts which is well suited for system modeling. But the object-oriented paradigm depends strongly on the consequent application of the complete methodology.


The first step of using the OO-methodology is object-oriented analysis (OOA). The object-oriented analysis methods are characterized by
  • language independence,
  • the ability to cope with complexity by abstraction and
  • showing a system from different views.

In the last years a lot of object-oriented analysis techniques like OMT, Booch, UML etc. have been developed. We will use the UML technique in this tutorial because UML is the first attempt to unify different OOA techniques. Though it is outside the scope of this course to give a complete introduction into UML, we will introduce it in some small examples.